/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package utilis;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import session.*;

/**
 *
 * @author asus
 */
@WebListener
public class InitListener implements ServletContextListener {
    GestionnaireDeFilms gestionnaireDeFilms = lookupGestionnaireDeFilmsBean();
    GestionnaireUtilisateurs gestionnaireUtilisateurs = lookupGestionnaireUtilisateursBean();
    GestionnaireActeurs gestionnaireActeurs = lookupGestionnaireActeursBean();
    GestionnaireStock gestionnaireStock = lookupGestionnaireDeStock();
    
    @Override
    public void contextInitialized(ServletContextEvent sce) {
    // appelé au déploiement ! On remplit la base de données !
        System.out.println("JE REMPLIS LA BD !!!!");
        gestionnaireActeurs.creerActeursDeTest();
        gestionnaireDeFilms.creerFilmsDeTest();
        gestionnaireUtilisateurs.creerUtilisateursDeTest();
        gestionnaireStock.creerStocksDeTest();
      
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }

       private GestionnaireActeurs lookupGestionnaireActeursBean() {
        try {
            Context c = new InitialContext();
            return (GestionnaireActeurs) c.lookup("java:global/ProjetWeb/GestionnaireActeurs!session.GestionnaireActeurs");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }

    private GestionnaireDeFilms lookupGestionnaireDeFilmsBean() {
        try {
            Context c = new InitialContext();
            return (GestionnaireDeFilms) c.lookup("java:global/ProjetWeb/GestionnaireDeFilms!session.GestionnaireDeFilms");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }

   

    private GestionnaireUtilisateurs lookupGestionnaireUtilisateursBean() {
        try {
            Context c = new InitialContext();
            return (GestionnaireUtilisateurs) c.lookup("java:global/ProjetWeb/GestionnaireUtilisateurs!session.GestionnaireUtilisateurs");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }
 private GestionnaireStock lookupGestionnaireDeStock() {
        try {
            Context c = new InitialContext();
            return (GestionnaireStock) c.lookup("java:global/ProjetWeb/GestionnaireStock!session.GestionnaireStock");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }
  
}
